运行环境

  • 系统:OS X Yosemite 10.10.3

  • IDE :Xcode 6.4

  • 语言:Swift 1.2

添加支付宝SDK2.2.3

  • 集成开发包下载链接

  • 新建一个文件夹,命名为AliSDK2_2_3

  • AliSDK2_2_3包含: Utilopenssllibssl.alibcrypto.aAlipaySDK.bundleAlipaySDK.frameworkAPAuthV2Info.hAPAuthV2Info.mOrder.hOrder.m

  • AliSDK2_2_3添加到工程

  • 添加SystemConfiguration.framework(此必需添加的框架)


编译一下,有错误。解决如下:

  • [x] Util文件夹下base64.h添加#import <Foundation/Foundation.h>

#import <Foundation/Foundation.h>
@interface Base64 : NSObject

+ (NSData *)decodeString:(NSString *)string;

@end
  • [X] Util文件夹下openssl_wrapper.h添加#import <Foundation/Foundation.h>

  • [X] Error : Lexical or Preprocessor Issue 'openssl/asn1.h' file not found
    Targets-->工程-->Build Settings-->Search Paths-->Header Search Paths(可以直接搜索)-->添加$(PROJECT_DIR)/AlipayDemo/AliSDK2_2_3或者$(SRCROOT)/AliSDKDemo/AliSDK2_3_3注:最安全的写法是,查看Framework Search Paths里面对应的路径,其中AliSDKDemo换成你的工程名


支付宝回调应用设置

  • 添加URL types
    点击项目名称-->"Info"-->URL Types-->点击'+'-->URL Schemes填写与订单中的一样,Role选择Editor。

Demo

Swift 1.2 支付宝SDK2.3.3集成
AlipayDemo

高能提醒:如果App类型选择iPad或者Universal,那么iPad支付时,会在app内打开内嵌的支付宝页面,即不会跳转到支付宝移动端(即使你已经安装了)

当点击支付,跳转不了的情况

Objective-C:在调用支付的时候取下[[[UIApplication shareApplication] windows] index:0] 看看hidden属性是否为YES 如果是就隐藏了window,H5就出不来了设置为NO就可以了 [[[UIApplication sharedApplication] windows] objectAtIndex:0]; 或 把您的App中把第0个window的hidden属性改成NO,就可以了
Swift:

(UIApplication.sharedApplication().windows.first as! UIWindow).hidden = false

温馨提示

遇到问题,b.alipay.com/support/helperApply.htm?action=supportHome点击页面右边“有问题点我”


laznrbfe
74 声望7 粉丝